#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<cstring>
#include<algorithm>

using namespace std;

const int N = 100010;

int n;
char a[N], b[N];
int f[N][3];

int main()
{
    scanf("%d%s%s", &n, a, b);

    memset(f, 0x3f, sizeof f);

    f[n][1] = 0;
    for (int i = n - 1; i >= 0; i--)
        for (int j = 0; j < 3; j++)
            for (int k = -9; k <= 9; k++)
                for (int t = 0; t < 3; t++)
                    if (a[i] + k + t - 1 - b[i] == (j - 1) * 10)
                        f[i][j] = min(f[i + 1][t] + abs(k), f[i][j]);

    printf("%d\n", min({ f[0][0],f[0][1],f[0][2] }));
    return 0;
}


//#include<iostream>
//
//using namespace std;
//
//const int N = 2010;
//
//int n, m;
//int b[N][N];
//
//int main()
//{
//    scanf("%d%d", &n, &m);
//
//    int x1, x2, y1, y2;
//    while (m--)
//    {
//        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
//        b[x1][y1] ++;
//        b[x1][y2 + 1]--;
//        b[x2 + 1][y1]--;
//        b[x2 + 1][y2 + 1]++;
//    }
//
//    for (int i = 1; i <= n; i++)
//    {
//        for (int j = 1; j <= n; j++)
//        {
//            b[i][j] = b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1] + b[i][j];
//            printf("%d", b[i][j] & 1);
//        }
//        puts("");
//    }
//    return 0;
//}